Michael Savarese
09/05/2025, 6:24 PMMarvin
09/05/2025, 6:24 PMMarvin
09/05/2025, 6:30 PMprefect version
python -c "import prefect, sys; print('prefect:', prefect.__version__); \
import importlib; m = importlib.import_module('prefect_modal'); \
print('prefect-modal:', getattr(m, '__version__', 'unknown')); \
import modal; print('modal:', getattr(modal, '__version__', 'unknown'))"
2) Upgrade Prefect and prefect-modal together, then rebuild/redeploy your Modal image/app used by the work pool:
pip install -U prefect prefect-modal modal
# or with uv
uv pip install -U prefect prefect-modal modal
- If your Modal push worker builds an image, make sure that image includes the updated packages and gets rebuilt/pushed before the next run.
3) Re-run your deployment. If the error persists, please grab the full traceback from the worker logs (set PREFECT_LOGGING_LEVEL=DEBUG
if possible) and share it here.
4) Temporary workaround if you need to unblock immediately: pin Prefect back to the last known-good version used by your previously working runs and rebuild your Modal image with that exact version. Then we can work forward from there.
Useful references
- Modal guide: Run on Modal (Prefect 3.x)
- Modal provisioner API (3.x): Modal provisioner API
- Plugin repo (to check releases/issues): Prefect Modal integration
If you can share:
- Prefect, prefect-modal, and modal versions
- A snippet of your work pool type and any relevant prefect.yaml
bits for the Modal build/push
- The full stack trace around the error
…I’ll dig in and help you get this resolved quickly.Michael Savarese
09/05/2025, 6:40 PMMarvin
09/05/2025, 6:40 PMMarvin
09/05/2025, 6:42 PMprefect work-pool inspect "<your-modal-push-pool>"
If you can run this, it’ll confirm the pool type and configuration we’re troubleshooting.
Optional: try to re-provision the pool (may surface more error context)
prefect work-pool provision-infrastructure "<your-modal-push-pool>"
What I suspect
- A regression in the Modal provisioner’s deprecation warning call (a signature change) on the server/plugin side. That would explain why your runs started failing “recently” and why local pinning hasn’t helped.
Next steps
- If you can share the details above, I’ll escalate to our engineering team right away. This looks like something we need to fix on our side.
- If you prefer, you can also open a ticket with those details so we can correlate logs and timelines from the backend.
Refs
- Modal guide (3.x): Run on Modal (Prefect 3.x)
- Modal provisioner API docs: Modal provisioner API
I know this is frustrating without visibility into the plugin internals — thank you for your patience. If you share your workspace/pool/run info here (or DM), I’ll get this in front of the team and follow up with status.Michael Savarese
09/05/2025, 7:22 PMmodal
will be deprecated soon, and cannot be used to create new apps.’, None)”